home *** CD-ROM | disk | FTP | other *** search
- unit TablesU;
-
- interface
-
- uses
- WinProcs, WinTypes, Messages, SysUtils, Classes, Graphics, Controls,
- Forms, Dialogs, Db, DBTables, Grids, DBGrids, StdCtrls;
-
- type
- TForm1 = class(TForm)
- cmbAlias: TComboBox;
- cmbTable: TComboBox;
- DBGrid1: TDBGrid;
- Table1: TTable;
- DataSource1: TDataSource;
- cmbIndexName: TComboBox;
- cmbIndexFieldNames: TComboBox;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure cmbAliasChange(Sender: TObject);
- procedure cmbTableChange(Sender: TObject);
- procedure cmbIndexNameChange(Sender: TObject);
- procedure cmbIndexFieldNamesChange(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- Session.GetAliasNames(cmbAlias.Items);
- end;
-
- procedure TForm1.cmbAliasChange(Sender: TObject);
- begin
- cmbTable.Text := '';
- cmbIndexFieldNames.Text := '';
- cmbIndexName.Text := '';
- Table1.Close;
- Session.GetTableNames(cmbAlias.Text,
- '*.*', True, False, cmbTable.Items)
- end;
-
- procedure TForm1.cmbTableChange(Sender: TObject);
- var
- I: Integer;
- begin
- cmbIndexFieldNames.Text := '';
- cmbIndexName.Text := '';
- if cmbTable.Text <> '' then
- with Table1 do
- begin
- DisableControls;
- try
- Close;
- DatabaseName := cmbAlias.Text;
- TableName := cmbTable.Text;
- IndexName := '';
- IndexFieldNames := '';
- GetIndexNames(cmbIndexName.Items);
- cmbIndexFieldNames.Clear;
- IndexDefs.Update;
- for I := 0 to IndexDefs.Count - 1 do
- with IndexDefs[I] do
- {if not (ixExpression in Options) then}
- if Options * [ixExpression, ixDescending] = [] then
- cmbIndexFieldNames.Items.Add(Fields);
- Open
- finally
- EnableControls
- end
- end;
- end;
-
- procedure TForm1.cmbIndexNameChange(Sender: TObject);
- begin
- Table1.IndexName := cmbIndexName.Text;
- cmbIndexFieldNames.Text := ''
- end;
-
- procedure TForm1.cmbIndexFieldNamesChange(Sender: TObject);
- begin
- Table1.IndexFieldNames := cmbIndexFieldNames.Text;
- cmbIndexName.Text := ''
- end;
-
- end.
-